package dexter.testing;

import java.io.File;
import java.lang.reflect.Constructor;
import java.util.Properties;

import dexter.util.ByteWrapper;

public class TestFactory {

	
	public static GenericTest createTest(Properties props) throws Exception {
		
		String cn = props.getProperty("testclass");		
		Class c = Class.forName(cn);
		Constructor ctor = c.getDeclaredConstructor();
	    ctor.setAccessible(true);
	    GenericTest test = (GenericTest) ctor.newInstance();
	    return test;
        
	}
	
//	public static GenericTest createTest(Properties props, ClassLoader cl) throws Exception {
//		
//		String cn = props.getProperty("testclass");		
//		String path = props.getProperty("test_path");	
//		//String classfile = cn.replace('.', File.separatorChar);			
//		
//		//
//		//Class	c = ByteWrapper.loadClassFile(path, cn, cl);		
//		Class	c = ByteWrapper.loadClassFile(path, cn, Thread.currentThread().getContextClassLoader());		
//		System.out.println("Test class loaded -> creating constructor");
//		Constructor ctor = c.getDeclaredConstructor();
//	    ctor.setAccessible(true);
//	    GenericTest test = (GenericTest) ctor.newInstance();
//	    return test;
//        
//	}
	
}
